package com.tgjs.sphoto.entity;

import java.util.List;

/**
 * Created by dql on 2018/8/15.
 */

public class PhotoDetailsDTO {

	/**
	 * id : Dwu85P9SOIk
	 * created_at : 2016-05-03T11:00:28-04:00
	 * updated_at : 2016-07-10T11:00:01-05:00
	 * width : 2448
	 * height : 3264
	 * color : #6E633A
	 * downloads : 1345
	 * likes : 24
	 * liked_by_user : false
	 * description : A man drinking a coffee.
	 * exif : {"make":"Canon","model":"Canon EOS 40D","exposure_time":"0.011111111111111112","aperture":"4.970854","focal_length":"37","iso":100}
	 * location : {"city":"Montreal","country":"Canada","position":{"latitude":45.4732984,"longitude":-73.6384879}}
	 * current_user_collections : [{"id":206,"title":"Makers: Cat and Ben","published_at":"2016-01-12T18:16:09-05:00","updated_at":"2016-07-10T11:00:01-05:00","curated":false,"cover_photo":null,"user":null}]
	 * urls : {"raw":"https://images.unsplash.com/photo-1417325384643-aac51acc9e5d","full":"https://images.unsplash.com/photo-1417325384643-aac51acc9e5d?q=75&fm=jpg","regular":"https://images.unsplash.com/photo-1417325384643-aac51acc9e5d?q=75&fm=jpg&w=1080&fit=max","small":"https://images.unsplash.com/photo-1417325384643-aac51acc9e5d?q=75&fm=jpg&w=400&fit=max","thumb":"https://images.unsplash.com/photo-1417325384643-aac51acc9e5d?q=75&fm=jpg&w=200&fit=max"}
	 * categories : []
	 * links : {"self":"https://api.unsplash.com/photos/Dwu85P9SOIk","html":"https://unsplash.com/photos/Dwu85P9SOIk","download":"https://unsplash.com/photos/Dwu85P9SOIk/download","download_location":"https://api.unsplash.com/photos/Dwu85P9SOIk/download"}
	 * user : {"id":"QPxL2MGqfrw","updated_at":"2016-07-10T11:00:01-05:00","username":"exampleuser","name":"Joe Example","portfolio_url":"https://example.com/","bio":"Just an everyday Joe","location":"Montreal","total_likes":5,"total_photos":10,"total_collections":13,"links":{"self":"https://api.unsplash.com/users/exampleuser","html":"https://unsplash.com/exampleuser","photos":"https://api.unsplash.com/users/exampleuser/photos","likes":"https://api.unsplash.com/users/exampleuser/likes","portfolio":"https://api.unsplash.com/users/exampleuser/portfolio"}}
	 */

	private String id;
	private String created_at;
	private String updated_at;
	private int width;
	private int height;
	private String color;
	private int downloads;
	private int likes;
	private boolean liked_by_user;
	private String description;
	private ExifBean exif;
	private LocationBean location;
	private UrlsBean urls;
	private LinksBean links;
	private UserBean user;
	private List<CurrentUserCollectionsBean> current_user_collections;
	private List<?> categories;

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getCreated_at() {
		return created_at;
	}

	public void setCreated_at(String created_at) {
		this.created_at = created_at;
	}

	public String getUpdated_at() {
		return updated_at;
	}

	public void setUpdated_at(String updated_at) {
		this.updated_at = updated_at;
	}

	public int getWidth() {
		return width;
	}

	public void setWidth(int width) {
		this.width = width;
	}

	public int getHeight() {
		return height;
	}

	public void setHeight(int height) {
		this.height = height;
	}

	public String getColor() {
		return color;
	}

	public void setColor(String color) {
		this.color = color;
	}

	public int getDownloads() {
		return downloads;
	}

	public void setDownloads(int downloads) {
		this.downloads = downloads;
	}

	public int getLikes() {
		return likes;
	}

	public void setLikes(int likes) {
		this.likes = likes;
	}

	public boolean isLiked_by_user() {
		return liked_by_user;
	}

	public void setLiked_by_user(boolean liked_by_user) {
		this.liked_by_user = liked_by_user;
	}

	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public ExifBean getExif() {
		return exif;
	}

	public void setExif(ExifBean exif) {
		this.exif = exif;
	}

	public LocationBean getLocation() {
		return location;
	}

	public void setLocation(LocationBean location) {
		this.location = location;
	}

	public UrlsBean getUrls() {
		return urls;
	}

	public void setUrls(UrlsBean urls) {
		this.urls = urls;
	}

	public LinksBean getLinks() {
		return links;
	}

	public void setLinks(LinksBean links) {
		this.links = links;
	}

	public UserBean getUser() {
		return user;
	}

	public void setUser(UserBean user) {
		this.user = user;
	}

	public List<CurrentUserCollectionsBean> getCurrent_user_collections() {
		return current_user_collections;
	}

	public void setCurrent_user_collections(List<CurrentUserCollectionsBean> current_user_collections) {
		this.current_user_collections = current_user_collections;
	}

	public List<?> getCategories() {
		return categories;
	}

	public void setCategories(List<?> categories) {
		this.categories = categories;
	}

	public static class ExifBean {
		/**
		 * make : Canon
		 * model : Canon EOS 40D
		 * exposure_time : 0.011111111111111112
		 * aperture : 4.970854
		 * focal_length : 37
		 * iso : 100
		 */

		private String make;
		private String model;
		private String exposure_time;
		private String aperture;
		private String focal_length;
		private String iso;

		public String getMake() {
			return make;
		}

		public void setMake(String make) {
			this.make = make;
		}

		public String getModel() {
			return model;
		}

		public void setModel(String model) {
			this.model = model;
		}

		public String getExposure_time() {
			return exposure_time;
		}

		public void setExposure_time(String exposure_time) {
			this.exposure_time = exposure_time;
		}

		public String getAperture() {
			return aperture;
		}

		public void setAperture(String aperture) {
			this.aperture = aperture;
		}

		public String getFocal_length() {
			return focal_length;
		}

		public void setFocal_length(String focal_length) {
			this.focal_length = focal_length;
		}

		public String getIso() {
			return iso;
		}

		public void setIso(String iso) {
			this.iso = iso;
		}
	}

	public static class LocationBean {
		/**
		 * city : Montreal
		 * country : Canada
		 * position : {"latitude":45.4732984,"longitude":-73.6384879}
		 */

		private String city;
		private String country;
		private PositionBean position;
		private String name;
		private String title;

		public void setName(String name) {
			this.name = name;
		}

		public String getName() {
			return name;
		}

		public void setTitle(String title) {
			this.title = title;
		}

		public String getTitle() {
			return title;
		}

		public String getCity() {
			return city;
		}

		public void setCity(String city) {
			this.city = city;
		}

		public String getCountry() {
			return country;
		}

		public void setCountry(String country) {
			this.country = country;
		}

		public PositionBean getPosition() {
			return position;
		}

		public void setPosition(PositionBean position) {
			this.position = position;
		}

		public static class PositionBean {
			/**
			 * latitude : 45.4732984
			 * longitude : -73.6384879
			 */

			private double latitude;
			private double longitude;

			public double getLatitude() {
				return latitude;
			}

			public void setLatitude(double latitude) {
				this.latitude = latitude;
			}

			public double getLongitude() {
				return longitude;
			}

			public void setLongitude(double longitude) {
				this.longitude = longitude;
			}
		}
	}

	public static class UrlsBean {
		/**
		 * raw : https://images.unsplash.com/photo-1417325384643-aac51acc9e5d
		 * full : https://images.unsplash.com/photo-1417325384643-aac51acc9e5d?q=75&fm=jpg
		 * regular : https://images.unsplash.com/photo-1417325384643-aac51acc9e5d?q=75&fm=jpg&w=1080&fit=max
		 * small : https://images.unsplash.com/photo-1417325384643-aac51acc9e5d?q=75&fm=jpg&w=400&fit=max
		 * thumb : https://images.unsplash.com/photo-1417325384643-aac51acc9e5d?q=75&fm=jpg&w=200&fit=max
		 */

		private String raw;
		private String full;
		private String regular;
		private String small;
		private String thumb;

		public String getRaw() {
			return raw;
		}

		public void setRaw(String raw) {
			this.raw = raw;
		}

		public String getFull() {
			return full;
		}

		public void setFull(String full) {
			this.full = full;
		}

		public String getRegular() {
			return regular;
		}

		public void setRegular(String regular) {
			this.regular = regular;
		}

		public String getSmall() {
			return small;
		}

		public void setSmall(String small) {
			this.small = small;
		}

		public String getThumb() {
			return thumb;
		}

		public void setThumb(String thumb) {
			this.thumb = thumb;
		}
	}

	public static class LinksBean {
		/**
		 * self : https://api.unsplash.com/photos/Dwu85P9SOIk
		 * html : https://unsplash.com/photos/Dwu85P9SOIk
		 * download : https://unsplash.com/photos/Dwu85P9SOIk/download
		 * download_location : https://api.unsplash.com/photos/Dwu85P9SOIk/download
		 */

		private String self;
		private String html;
		private String download;
		private String download_location;

		public String getSelf() {
			return self;
		}

		public void setSelf(String self) {
			this.self = self;
		}

		public String getHtml() {
			return html;
		}

		public void setHtml(String html) {
			this.html = html;
		}

		public String getDownload() {
			return download;
		}

		public void setDownload(String download) {
			this.download = download;
		}

		public String getDownload_location() {
			return download_location;
		}

		public void setDownload_location(String download_location) {
			this.download_location = download_location;
		}
	}

	public static class UserBean {
		/**
		 * id : QPxL2MGqfrw
		 * updated_at : 2016-07-10T11:00:01-05:00
		 * username : exampleuser
		 * name : Joe Example
		 * portfolio_url : https://example.com/
		 * bio : Just an everyday Joe
		 * location : Montreal
		 * total_likes : 5
		 * total_photos : 10
		 * total_collections : 13
		 * links : {"self":"https://api.unsplash.com/users/exampleuser","html":"https://unsplash.com/exampleuser","photos":"https://api.unsplash.com/users/exampleuser/photos","likes":"https://api.unsplash.com/users/exampleuser/likes","portfolio":"https://api.unsplash.com/users/exampleuser/portfolio"}
		 */

		private String id;
		private String updated_at;
		private String username;
		private String name;
		private String portfolio_url;
		private String bio;
		private String location;
		private int total_likes;
		private int total_photos;
		private int total_collections;
		private LinksBeanX links;

		public String getId() {
			return id;
		}

		public void setId(String id) {
			this.id = id;
		}

		public String getUpdated_at() {
			return updated_at;
		}

		public void setUpdated_at(String updated_at) {
			this.updated_at = updated_at;
		}

		public String getUsername() {
			return username;
		}

		public void setUsername(String username) {
			this.username = username;
		}

		public String getName() {
			return name;
		}

		public void setName(String name) {
			this.name = name;
		}

		public String getPortfolio_url() {
			return portfolio_url;
		}

		public void setPortfolio_url(String portfolio_url) {
			this.portfolio_url = portfolio_url;
		}

		public String getBio() {
			return bio;
		}

		public void setBio(String bio) {
			this.bio = bio;
		}

		public String getLocation() {
			return location;
		}

		public void setLocation(String location) {
			this.location = location;
		}

		public int getTotal_likes() {
			return total_likes;
		}

		public void setTotal_likes(int total_likes) {
			this.total_likes = total_likes;
		}

		public int getTotal_photos() {
			return total_photos;
		}

		public void setTotal_photos(int total_photos) {
			this.total_photos = total_photos;
		}

		public int getTotal_collections() {
			return total_collections;
		}

		public void setTotal_collections(int total_collections) {
			this.total_collections = total_collections;
		}

		public LinksBeanX getLinks() {
			return links;
		}

		public void setLinks(LinksBeanX links) {
			this.links = links;
		}

		public static class LinksBeanX {
			/**
			 * self : https://api.unsplash.com/users/exampleuser
			 * html : https://unsplash.com/exampleuser
			 * photos : https://api.unsplash.com/users/exampleuser/photos
			 * likes : https://api.unsplash.com/users/exampleuser/likes
			 * portfolio : https://api.unsplash.com/users/exampleuser/portfolio
			 */

			private String self;
			private String html;
			private String photos;
			private String likes;
			private String portfolio;

			public String getSelf() {
				return self;
			}

			public void setSelf(String self) {
				this.self = self;
			}

			public String getHtml() {
				return html;
			}

			public void setHtml(String html) {
				this.html = html;
			}

			public String getPhotos() {
				return photos;
			}

			public void setPhotos(String photos) {
				this.photos = photos;
			}

			public String getLikes() {
				return likes;
			}

			public void setLikes(String likes) {
				this.likes = likes;
			}

			public String getPortfolio() {
				return portfolio;
			}

			public void setPortfolio(String portfolio) {
				this.portfolio = portfolio;
			}
		}
	}

	public static class CurrentUserCollectionsBean {
		/**
		 * id : 206
		 * title : Makers: Cat and Ben
		 * published_at : 2016-01-12T18:16:09-05:00
		 * updated_at : 2016-07-10T11:00:01-05:00
		 * curated : false
		 * cover_photo : null
		 * user : null
		 */

		private int id;
		private String title;
		private String published_at;
		private String updated_at;
		private boolean curated;
		private Object cover_photo;
		private Object user;

		public int getId() {
			return id;
		}

		public void setId(int id) {
			this.id = id;
		}

		public String getTitle() {
			return title;
		}

		public void setTitle(String title) {
			this.title = title;
		}

		public String getPublished_at() {
			return published_at;
		}

		public void setPublished_at(String published_at) {
			this.published_at = published_at;
		}

		public String getUpdated_at() {
			return updated_at;
		}

		public void setUpdated_at(String updated_at) {
			this.updated_at = updated_at;
		}

		public boolean isCurated() {
			return curated;
		}

		public void setCurated(boolean curated) {
			this.curated = curated;
		}

		public Object getCover_photo() {
			return cover_photo;
		}

		public void setCover_photo(Object cover_photo) {
			this.cover_photo = cover_photo;
		}

		public Object getUser() {
			return user;
		}

		public void setUser(Object user) {
			this.user = user;
		}
	}
}
